//
//  UIView+GXAddition.h
//  

#import <UIKit/UIKit.h>

@interface UIView (GXAddition)

#pragma mark - Properties
/**
 x坐标
 */
@property(nonatomic, assign) CGFloat gx_X;

/**
 y坐标
 */
@property(nonatomic, assign) CGFloat gx_Y;

/**
 width
 */
@property(nonatomic, assign) CGFloat gx_Width;

/**
 height
 */
@property(nonatomic, assign) CGFloat gx_Height;

/*
 origin
 */
@property(nonatomic, assign) CGPoint gx_Origin;

/**
 size
 */
@property(nonatomic, assign) CGSize gx_Size;

/// center.x
@property(nonatomic, assign) CGFloat gx_CenterX;

/// center.y
@property(nonatomic, assign) CGFloat gx_CenterY;

#pragma mark - Methods

// 截图 snapshot(快照)
- (UIImage *)gx_snapshot:(BOOL)opaque;

/**
 九宫格算法 Nine Box Algorithm

 @param itemArr     待排列的views
 @param marginTop   九宫格整体距离 superView 上边界的距离
 @param itemMargin  views之间以及与所在 superView 的间隔
 @param width       待排列 itemView 的宽度 width
 @param height      待排列 itemView 的高度 height
 @param columCount  待排列数
 
 @discussion:
    若 itemHeight 为0，那么 itemHeight 由其 superView 根据 rowCount & margin 平均分配；此时 margin 不能为0 ；
    若 itemWidth 为0，那么 itemWidth 由其 superView 根据 columCount & margin 平均分配；此时 margin 不能为0 ；
    itemMargin 和 itemWidth 不能同时为0；
    itemMargin 和 itemHeight 也不能同时为0 。
 */
- (void)gx_nineBoxAlgorithm:(NSArray<UIView *> *)itemArr marginTop:(CGFloat)marginTop itemMargin:(CGFloat)itemMargin itemWidth:(CGFloat)width itemHeight:(CGFloat)height columCount:(NSInteger)columCount;

- (void)gx_shadowWithColor:(UIColor *)color shadowRadius:(CGFloat)shadowRadius shadowOpacity:(CGFloat)shadowOpacity;






@end
